home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
gnu
/
m4-1_0_3.lha
/
m4-1.0.3
/
checks
/
get_them
< prev
next >
Wrap
Text File
|
1992-11-17
|
1KB
|
69 lines
#!/bin/sh
# Extract all examples from the manual source.
# Copyright (C) 1992 Free Software Foundation, Inc.
# This script is for use with GNU awk.
FILE=${1-/dev/null}
$AWK '
BEGIN {
node = "";
seq = -1;
count = 0;
file = "NONE";
}
/^@node / {
if (seq > 0)
printf(" -- %d file%s", seq, seq == 1 ? "" : "s");
if (seq >= 0)
printf("\n");
split($0, tmp, ",");
node = substr(tmp[1], 7);
if (length(node) > 11)
printf("Node: %s - truncated", node);
else
printf("Node: %s ", node);
gsub(" ", "_", node);
node = tolower(substr(node, 1, 11));
seq = 0;
}
/^@comment ignore$/ {
getline;
next;
}
/^@example$/, /^@end example$/ {
if (seq < 0)
next;
if ($0 ~ /^@example$/) {
if (count > 0)
close (file);
seq++;
count++;
file = sprintf("%02d.%s", count, node);
printf("dnl %s:%d: Origin of test\n", FILENAME, NR) > file;
next;
}
if ($0 ~ /^@end example$/) {
next;
}
if ($0 ~ /^\^D$/)
next;
if ($0 ~ /^@result{}/ || $0 ~ /^@error{}/)
prefix = "dnl ";
else
prefix = "";
gsub("@@", "@", $0);
printf("%s%s\n", prefix, $0) >> file;
}
END {
printf("\n");
}
' $FILE